package org.jeecg.modules.demo.document.utils;



import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.pdfbox.io.MemoryUsageSetting;
import org.apache.pdfbox.multipdf.PDFMergerUtility;

public class PdfFileUtil {
    /**
     * pdf合并拼接
     * @Title:mulFile2One
     * @Description: TODO
     * @date 2019年9月22日 上午10:05:37
     * @author yqwang
     * @param files 文件列表
     * @param targetPath 合并到
     * @return
     * @throws IOException
     */
    public static File mulFile2One(List<File> files,String targetPath) throws IOException{
        // pdf合并工具类
        PDFMergerUtility mergePdf = new PDFMergerUtility();
        for (File f : files) {
//            if(f.exists()){
                // 循环添加要合并的pdf
                mergePdf.addSource(f);
//            }
        }
        // 设置合并生成pdf文件名称
        mergePdf.setDestinationFileName(targetPath);
        // 合并pdf
        mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
        return new File(targetPath);
    }

    public static void main(String[] args) throws IOException {
        List<File> files = new ArrayList<File>();
//        files.add(new File("/font/三好学生标兵11.21封面33.pdf"));

        try {

            File test=new File("/font/三好学生标兵11.21封面44.pdf");
//            if (!test.getParentFile().exists()){
//                test.getParentFile().mkdirs();
//            }
//            if (test.createNewFile()) {
//                System.out.println("File created: " + test.getName());
//            }
            files.add(test);
            File f = mulFile2One(files, "E:\\school_certificates2\\jeecg-module-demo\\src\\main\\resources\\static\\font\\三好学生标兵11.21封面3.pdf");
            System.out.println(f.length());
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}
